函数

isdigit

<cctype>

int isdigit ( int c );

检查字符是否是十进制数字(decimal digit)

检查 c 是否是一个十进制数字。

十进制数字有:0 1 2 3 4 5 6 7 8 9

头文件 <cctype> 的参考中,有标准 ASCII 字符集的各个字符在不同 ctype 函数的返回值的详细图表。

在 C++ 中,这个函数的 locale-specific 模板版本 isdigit 在头文件 <locale>中。

参数

c

被检查的字符,被转化为 int 型或 EOF

返回值

如果 c 的确是一个十进制数字,则返回一个非0值 (也就是 true ),否则返回0 (也就是 false)。

例子

  1. /* isdigit example */
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <ctype.h>
  5. int main()
  6. {
  7. char str[] = "1776ad";
  8. int year;
  9. if(isdigit(str[0]))
  10. {
  11. year = atoi(str);
  12. printf("The year that followed %d was %d.\n", year, year + 1);
  13. }
  14. return 0;
  15. }

输出:

  1. The year that followed 1776 was 1777.

isdigit 被用来检查 str 的第一个字符是否是一个十进制数字,来成为一个有效的候选者被 atoi 转化为一个整型的值。

另请参阅

函数名 描述
isalnum 检查字符是否是字母或数字(alphanumeric) (函数)
isalpha 检查字符是否是字母(alphabetic) (函数)